Extension point datasources
In component org.nuxeo.runtime.datasource
Documentation
Example contribution:
<datasource driverClassName="org.h2.Driver" maxTotal="20"
maxWaitMillis="10000" minTotal="5" name="jdbc/foo">
<property name="url">jdbc:h2:/home/db;DB_CLOSE_ON_EXIT=false
</property>
<property name="username">nuxeo</property>
<property name="password">nuxeo</property>
</datasource>
Or, for a XA datasource:
<datasource maxTotal="20" maxWaitMillis="10000" minTotal="5"
name="jdbc/foo" xaDataSource="org.h2.jdbcx.JdbcDataSource">
<property name="databaseName">/home/db</property>
<property name="createDatabase">create</property>
<property name="user">nuxeo</property>
<property name="password">nuxeo</property>
</datasource>
The allowed attributes of a datasource
element are:
- name the JNDI name (for instance jdbc/foo )
- driverClassName the JDBC driver class name (only for a non-XA datasource)
- xaDataSource the XA datasource class name (only for a XA datasource)
To configure the characteristics of the pool:
- maxTotal the maximum number of active connections
- minTotal the minimum number of idle connections
- maxWaitMillis the maximum number of milliseconds to wait for a connection to be available, or -1 (the default) to wait indefinitely
- ... see org.apache.commons.dbcp.BasicDataSource setters for more.
To configure the datasource, individual property sub-elements must be used. For a non-XA datasource, url
, username
and password
are commonly used. For a XA datasource, the properties are done according to the JavaBean setters of the datasource, see the documentation for your JDBC driver for more.
Contribution Descriptors
- Class: org.nuxeo.runtime.datasource.DataSourceDescriptor
- Class: org.nuxeo.runtime.datasource.DataSourceLinkDescriptor
Existing Contributions
Contributions are presented in the same order as the registration order on this extension point. This order is displayed before the contribution name, in brackets.
-
<?xml version='1.0' encoding='UTF-8'?> <extension point="datasources" target="org.nuxeo.runtime.datasource"> <datasource accessToUnderlyingConnectionAllowed="true" cacheState="false" driverClassName="org.h2.Driver" maxTotal="100" maxWaitMillis="1000" minTotal="5" name="jdbc/nuxeo" password="********" url="jdbc:h2:/var/lib/nuxeo/h2/nuxeo;DB_CLOSE_ON_EXIT=false" username="sa" validationQuery="">********</datasource> <link global="jdbc/nuxeo" name="jdbc/NuxeoDS" type="javax.sql.DataSource"/> <link global="jdbc/nuxeo" name="jdbc/nxsqldirectory" type="javax.sql.DataSource"/> <link global="jdbc/nuxeo" name="jdbc/nxrelations-default-jena" type="javax.sql.DataSource"/> <link global="jdbc/nuxeo" name="jdbc/comment-relations" type="javax.sql.DataSource"/> <link global="jdbc/nuxeo" name="jdbc/nxaudit-logs" type="javax.sql.DataSource"/> <link global="jdbc/nuxeo" name="jdbc/nxjbpm" type="javax.sql.DataSource"/> <link global="jdbc/nuxeo" name="jdbc/placeful_service_ds" type="javax.sql.DataSource"/> <link global="jdbc/nuxeo" name="jdbc/nxwebwidgets" type="javax.sql.DataSource"/> <link global="jdbc/nuxeo" name="jdbc/nxuidsequencer" type="javax.sql.DataSource"/> <link global="jdbc/nuxeo" name="jdbc/keyvaluestore" type="javax.sql.DataSource"/> <link global="jdbc/nuxeo" name="jdbc/repository_default" type="javax.sql.DataSource"/> </extension>